package com.tx.blog.util;

import org.apache.commons.codec.digest.DigestUtils;

import java.util.Random;

/**
 * @author ：tx
 * @description：加密类
 * @date ：Created in 2019/4/29 9:59
 * @modified By：
 * @version: 1.0
 */
public class Md5Util {
    /**
     * 加密方法
     * @param src
     * @return
     */
    public static String md5(String src) {
        return DigestUtils.md5Hex(src);
    }

    /**
     * @author tx
     * @description 把前端加密过的密码再加密一次（保存到数据库用）
     * @date  2019/4/29 11:05
     * @param  * @Param: formPass 表单加密过的密码
     *           @Param: salt        盐
     * @return java.lang.String
    **/
    public static String convertToDBPass(String formPass, String salt) {
        String str = ""+salt.charAt(0)+salt.charAt(2) + formPass +salt.charAt(5) + salt.charAt(4);
        return md5(str);
    }

    /**
     * @author tx
     * @description  获得16位的盐值
     * @date  2019/4/29 10:38
     * @param  * @Param: 
     * @return java.lang.String
    **/
    public static String getRandomSalt(){
        Random r = new Random();
        StringBuffer sb = new StringBuffer();
        sb.append(r.nextInt(999999)).append(r.nextInt(999999));
        int len = 16;
        while(sb.length() <= len){
            sb.append(0);
        }
        System.out.println(sb.toString());
        return sb.toString();
    }

}
